package com.ruoyi.product.mapper;

import java.util.List;
import com.ruoyi.product.domain.ProductSpecTemplateRelation;
import org.apache.ibatis.annotations.Mapper;

/**
 * 模板与规格属性的关联Mapper接口
 * 
 * @author liuhuizhong
 * @date 2025-08-07
 */
@Mapper
public interface ProductSpecTemplateRelationMapper 
{
    /**
     * 查询模板与规格属性的关联
     * 
     * @param id 模板与规格属性的关联主键
     * @return 模板与规格属性的关联
     */
    public ProductSpecTemplateRelation selectProductSpecTemplateRelationById(Long id);

    /**
     * 查询模板与规格属性的关联列表
     * 
     * @param productSpecTemplateRelation 模板与规格属性的关联
     * @return 模板与规格属性的关联集合
     */
    public List<ProductSpecTemplateRelation> selectProductSpecTemplateRelationList(ProductSpecTemplateRelation productSpecTemplateRelation);

    /**
     * 新增模板与规格属性的关联
     * 
     * @param productSpecTemplateRelation 模板与规格属性的关联
     * @return 结果
     */
    public int insertProductSpecTemplateRelation(ProductSpecTemplateRelation productSpecTemplateRelation);

    /**
     * 批量新增模板与规格属性的关联
     * @param productSpecTemplateRelationList
     * @return
     */
    public int insertProductSpecTemplateRelationBatch(List<ProductSpecTemplateRelation> productSpecTemplateRelationList);
    /**
     * 修改模板与规格属性的关联
     * 
     * @param productSpecTemplateRelation 模板与规格属性的关联
     * @return 结果
     */
    public int updateProductSpecTemplateRelation(ProductSpecTemplateRelation productSpecTemplateRelation);

    /**
     * 删除模板与规格属性的关联
     * 
     * @param id 模板与规格属性的关联主键
     * @return 结果
     */
    public int deleteProductSpecTemplateRelationById(Long id);

    /**
     * 批量删除模板与规格属性的关联
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProductSpecTemplateRelationByIds(Long[] ids);

    /**
     * 按模板id删除关联
     * @param templateId
     * @return
     */
    public int deleteProductSpecTemplateRelationByTemplateId(Long templateId);
}
